前言¶
本文介绍WS53V100的AT指令式及场景,为用户提供相应的指令格式和参数示例解释。
与本文档相对应的产品版本如下。
本文档主要适用于以下工程师:
技术支持工程师
软件开发工程师
在本文中可能出现下列标志,它们所代表的含义如下。
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
更新“BLE&SLE模块AT指令”小节内容。 |
||
指令说明¶
命令简介¶
AT命令用于TE(例如:PC等用户终端)和MT(例如:移动台等移动终端)之间控制信息的交互,如图1所示。

指令类型¶
AT指令类型如表1所示。
表 1 AT指令类型说明
注意事项¶
不是每一条指令都具备表1中的4种类型的命令。
如果存在当前软件版本不支持的AT指令,会返回ERROR。
双引号表示字符串数据 "string",例如:AT+SCANSSID="XXX"。
串口通信默认:波特率为115200、8个数据位、1个停止位、无校验,无流量控制。
<>为必选参数;[ ]内为可选值,参数可选。
命令中的参数以“,”作为分隔符,除双引号括起来的字符串参数外,不支持参数本身带“,”。
AT指令中的参数不能有多余的空格。
AT指令必须大写,且必须以回车换行符作为结尾(CR LF),部分串口工具在用户敲击键盘回车键时只有回车符(CR)没有换行符(LF),导致AT指令无法识别,如需使用串口工具手动输入AT指令,需在串口工具中将回车键设置为回车符(CR)+换行符(LF)。以IPOP V4.1为例,说明如图1所示。
Wi-Fi模块AT指令¶
通用AT指令¶
通用AT指令一览表¶
通用AT指令描述¶
AT+HELP 查看当前可用AT命令¶
AT+MAC MAC地址管理¶
|
|
|
AT+IPERF 性能测试¶
AT+SYSINFO 查看系统信息¶
|
|
AT+PING 测试IPV4网络连接¶
AT+PING6 测试IPV6网络连接¶
|
|
|
|
AT+DNS 设置单板dns服务器地址¶
|
|
|
|
||
AT+NETSTAT 查看网络状态¶
AT+DHCP dhcp客户端命令¶
|
|
AT+DHCPS dhcps服务器端命令¶
|
|
AT+IFCFG 接口配置¶
AT+PS Wi-Fi 低功耗设置¶
|
|
AT+RST 复位单板¶
|
|
AT+SYSCHANNEL 启动Syschannel并等卡¶
|
|
|
AT+QUERYFILTER 查询Syschannel过滤规则¶
|
|
|
AT+ADDFILTER 添加Syschannel过滤规则¶
|
|
|
AT+DELFILTER 删除Syschannel过滤规则¶
|
|
|
AT+SYSCHANIF 指定Syschannel使用的网络设备接口¶
|
|
|
|
|
AT+GETRATE 查询最近一次发送给指定设备的报文速率¶
|
|
|
|
|
AT+SENDPKT 发送任意帧¶
AT+HEAPSTAT 打印堆使用情况¶
AT+TASKSTACK 打印每个任务栈使用情况¶
STA相关AT指令¶
STA相关AT指令一览表¶
STA相关AT指令描述¶
AT+STARTSTA 启动STA¶
|
|
|
|
||
AT+STOPSTA 关闭STA¶
|
|
AT+RECONN 配置重连策略¶
|
|
|
AT+SCAN 启动STA扫描¶
|
|
|
AT+SCANCHN 指定信道扫描¶
|
|
|
AT+SCANSSID 指定ssid扫描¶
AT+SCANRESULT 查看STA扫描结果¶
+SCANRESULT:<ssid>,<bssid>,<chn>,<rssi>,<auth_type>
|
|
|
AT+CONN 发起与AP的连接¶
AT+FCONN 发起与AP的快速连接¶
AT+DISCONN 断开与AP的连接¶
|
|
|
AT+STASTAT 查看STA连接状态¶
+STASTAT: <status>,<ssid>, <bssid >,<chn>,<rssi>
|
|
|
AT+PBC PBC连接¶
|
|
AT+PIN PIN连接¶
|
|
AT+PINSHOW 生成PIN码¶
|
|
SoftAP相关AT指令¶
SoftAP相关AT指令一览表¶
SoftAP相关AT指令描述¶
AT+STARTAP 普通模式启动SoftAP¶
AT+SETAPADV 配置SoftAP启动参数¶
AT+STOPAP 停止SoftAP¶
|
|
AT+SHOWSTA 显示当前连接的STA信息¶
+SHOWSTA:<STA_MAC>, rssi: <RSSI>,rate<RATE>
|
|
|
|
AT+DEAUTHSTA 断开STA连接¶
|
|
TCP/IP相关AT指令¶
TCP/IP相关AT指令一览表¶
TCP/IP相关AT指令描述¶
AT+IPSTART 创建socket,TCP协议发起连接¶
AT+IPSEND 发送TCP/UDP数据¶
|
||
|
||
|
||
AT+IPLISTEN 启动TCP监听¶
|
|
|
|
AT+IPCLOSE 关闭连接¶
|
|
+IPD 接收网络数据¶
测试调试相关AT指令¶
测试调试相关AT指令一览表¶
测试调试相关AT指令描述¶
AT+ALTX 设置常发功能¶
|
|
|
AT+ALRX 设置常收功能¶
|
|
|
|
|
|
|
AT+RXINFO 查询常收¶
AT+SETRPWR 设置功率¶
|
|
AT+CALIONLINE 触发动态校准¶
|
|
使用场景示例¶
启动/停止SoftAP¶
|
AT+STARTAP="XXX",6,2,"12345678" AT+IFCFG=ap0,192.168.3.1,netmask,255.255.255.0,gateway,192.168.3.1 |
注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。 |
启动/停止STA¶
注意:设置MAC地址命令可选,如果不设置则使用随机MAC;设置的MAC地址为STA的地址,SoftAP的地址为STA的地址+1。 |
吞吐量测试¶
|
#UDP测试,192.168.3.1为对端iperf server IP地址 AT+IPERF=-c,192.168.3.1,-u,-b,100M,-t,30,-i,1 |
RF 测试¶
RF常发测试¶
RF常收测试¶
BLE&SLE模块AT指令¶
BLE¶
BLE AT指令一览表¶
gap模块AT命令¶
gatts模块AT命令¶
BLE AT指令描述¶
gap模块AT命令¶
AT+BLEENABLE 使能ble协议栈¶
AT+BLEDISABLE 关闭ble协议栈¶
AT+BLESETADDR 设置本地设备地址¶
|
|
|
|
设备类型取值范围为{0(公共设备地址),1(随机设备地址),2(公共本端地址),3(随机静态本端地址)},设备地址为长度为14的字符串 |
AT+BLEGETADDR 获取本地设备地址¶
|
|
AT+BLESETNAME 设置本地设备名称¶
|
|
AT+BLEGETNAME 获取本地设备名称¶
|
|
AT+BLESETAPPEARANCE 设置本地设备外观¶
|
|
参数值应为规定值,示例中961为键盘的外观值,具体请参考表1 |
AT+BLESETADVDATA 设置BLE广播数据¶
AT+BLESETADVPAR 设置广播数据参数¶
AT+BLESTARTADV 开始发送BLE广播¶
|
|
AT+BLESTOPADV 停止发送BLE广播¶
|
|
AT+BLEGETPAIREDNUM 获取BLE设备配对设备数量¶
|
|
AT+BLEGETPAIREDDEV 获取BLE设备配对设备¶
|
|
AT+BLEGETPAIREDSTA 获取BLE设备配对状态¶
|
|
|
AT+BLECONNPARUPD 更新连接参数¶
AT+BLEGAPREGCBK 注册BLE回调函数¶
|
|
AT+BLEREADPEERRSSI 读取RSSI值¶
|
|
|
|
AT+BLESETPHY 设置 BLE PHY¶
AT+BLESETPHY=<conn_handle>,<all_phys>,<tx_phys>,<rx_phys>,<phy_options> |
|
|
|
|
|
gatts模块AT命令¶
AT+GATTSREGSRV 创建一个GATT server¶
|
|
AT+GATTSUNREG 删除GATT server,释放资源¶
|
|
AT+GATTSSYNCADDSERV 添加一个GATT服务(同步)¶
|
|
|
|
AT+GATTSSYNCADDCHAR 为GATT服务添加一个特征(同步)¶
AT+GATTSSYNCADDDESCR 为最新的特征添加一个描述符(同步)¶
AT+GATTSSYNCADDDESCR=<server_id,service_handle,chara_uuid,permissions,value_len,value> |
|
|
|
AT+GATTSSTARTSERV 启动指定的GATT服务¶
|
|
|
|
AT+GATTSDELALLSERV 删除指定server上的所有服务¶
|
|
AT+GATTSSENDRSP 发送响应¶
AT+GATTSSENDRSP=<server_id,conn_handle,request_id,status,offset,value_len,value> |
|
|
|
|
|
AT+GATTSSNDNTFY 发送通知或指示¶
AT+GATTSSNDNTFY=<server_id,conn_handle,attr_handle,value_len,value> |
|
|
|
|
|
AT+GATTSSNDNTFYBYUUID 根据uuid发送通知或指示¶
AT+GATTSREGCBK 注册GATT服务端回调函数¶
|
|
AT+GATTSSETMTU 在连接之前设置server rx mtu¶
|
|
|
|
BLE测试模式AT指令¶
BLE测试模式AT指令一览表¶
BLE测试模式AT指令描述¶
说明: BLE测试模式命令,在AT+BLEENABLE指令下发后可用。
AT+BLEFACCALLBACK 注册ble状态回调¶
|
|
AT+BLETX 开始ble常发¶
AT+BLERX 开始ble常收¶
AT+BLETRXEND 结束ble常发或常收¶
AT+BLERST 软复位ble¶
SLE¶
SLE AT指令一览表¶
SLE AT指令描述¶
SLE使能¶
|
|
SLE去使能¶
|
|
注册启停广播与扫描回调¶
表 1
|
|
设置SLE广播参数¶
设置SLE广播数据¶
起SLE广播¶
|
|
停SLE广播¶
|
|
设置本端名称¶
|
|
获取本端名称¶
|
|
设置本端地址¶
|
|
|
|
获取本端地址¶
|
|
星闪逻辑链路更新参数¶
星闪读取远端rssi¶
该命令的作用:读取当前SLE ACB 链路的RSSI信号强度,RSSI(Received Signal Strength Indicator)是接收信号的强度指示。具体含义
|
|
设置SLE PHY¶
默认1M 4M暂时不支持
该命令作用:某些场景下需要高的传输速率,此时就通过设置tx_phy、rx_phy参数为2M。如果两端都支持2M,才能设置成功。
AT+SLESETPHY=<conn_id>,<tx_phy>,<rx_phy>,<tx_format>,<rx_format>,<tx_pilot_density>,<rx_pilot_density>,<g_feedback>,<t_feedback> |
|
|
|
设置SLE连接mcs传输特性¶
|
|
<conn_id>:SLE连接id(AT+SLECONN指令执行成功以后,返回的回调里面打印)
|
|
获取绑定设备¶
|
|
注册服务端¶
|
|
去注册服务端¶
|
|
添加服务同步¶
|
|
属性参数说明:
typedef enum {
SSAP_PERMISSION_READ = 0x01, /*可读*/
SSAP_PERMISSION_WRITE = 0x02, /*可写*/
SSAP_PERMISSION_ENCRYPTION_NEED = 0x04, /*需要加密*/
SSAP_PERMISSION_AUTHENTICATION_NEED = 0x08, /*需要认证*/
SSAP_PERMISSION_AUTHORIZATION_NEED = 0x10, /*需要授权*/
} ssap_permission_t;
typedef enum {
SSAP_OPERATE_INDICATION_BIT_READ = 0x01, /*数据值可被读取*/
SSAP_OPERATE_INDICATION_BIT_WRITE_NO_RSP = 0x02, /*数据值可被写入,写入后无反馈*/
SSAP_OPERATE_INDICATION_BIT_WRITE = 0x04, /*数据值可被写入,写入后产生反馈给客户端*/
SSAP_OPERATE_INDICATION_BIT_NOTIFY = 0x08, /*数据值通过通知方式传递给客户端*/
SSAP_OPERATE_INDICATION_BIT_INDICATE = 0x10, /*数据值通过指示方式传递给客户端*/
SSAP_OPERATE_INDICATION_BIT_BROADCAST = 0x20, /*数据值可携带在广播中*/
SSAP_OPERATE_INDICATION_BIT_DESCRITOR_WRITE = 0x100, /*数据值说明描述符可被写入*/
SSAP_OPERATE_INDICATION_MAX, /*操作指示最大值 */
} ssap_operate_indication_t;
添加属性同步¶
添加属性描述符同步¶
服务端向客户端发送通知¶
AT+SSAPSSNDNTFY=<conn_id>,<handle>,<type>,<value_len>,<value> |
|
|
|
服务端向客户端通过uuid发送通知¶
AT+SSAPSNTFYBYUUID=<conn_id>,<uuid>,<start_hdl>,<end_hdl>,<type>,<value_len>,<value> |
|
|
|
服务端发送响应¶
发送响应原因说明:
typedef enum {
ERRCODE_SSAP_INVALID_PDU = ERRCODE_SLE_SSAP_BASE + 0x01, /*服务端接收的 PDU 无效*/
ERRCODE_SSAP_PDU_NOT_SUPPORT = ERRCODE_SLE_SSAP_BASE + 0x02, /*服务端不支持处理接收的PDU*/
ERRCODE_SSAP_UNKNOW = ERRCODE_SLE_SSAP_BASE + 0x03, /*服务端执行请求时发生未知错误*/
ERRCODE_SSAP_INVALID_HANDLE = ERRCODE_SLE_SSAP_BASE + 0x04, /*请求中的句柄无效*/
ERRCODE_SSAP_INSUFFICIENT_RESOURCES = ERRCODE_SLE_SSAP_BASE + 0x05, /*服务端没有足够资源完成请求*/
ERRCODE_SSAP_PROHIBIT_READING = ERRCODE_SLE_SSAP_BASE + 0x06, /*服务端禁止客户端读取值*/
ERRCODE_SSAP_PROHIBIT_WRITE = ERRCODE_SLE_SSAP_BASE + 0x07, /*服务端禁止客户端写入值*/
ERRCODE_SSAP_CLIENT_NOT_AUTHENTICATED = ERRCODE_SLE_SSAP_BASE + 0x08, /*客户端未经过认证*/
ERRCODE_SSAP_CLIENT_NOT_AUTHORIZATION = ERRCODE_SLE_SSAP_BASE + 0x09, /*客户端未被授权*/
ERRCODE_SSAP_BEARER_NOT_ENCRYPTED = ERRCODE_SLE_SSAP_BASE + 0x0A, /*传输 PDU 的承载未加密*/
ERRCODE_SSAP_ENTRIES_NOT_FOUND = ERRCODE_SLE_SSAP_BASE + 0x0B, /*服务端未找到对应条目*/
ERRCODE_SSAP_DATA_NOT_FOUND = ERRCODE_SLE_SSAP_BASE + 0x0C, /*服务端未找到对应类型数据*/
ERRCODE_SSAP_INCORRECT_DATA_TYPE = ERRCODE_SLE_SSAP_BASE + 0x0D, /*客户端发送写入数据类型不符的错误*/
ERRCODE_SSAP_INCORRECT_DATA_VALUE = ERRCODE_SLE_SSAP_BASE + 0x0E, /*客户端发送写入值不符的错误*/
ERRCODE_SSAP_VALUE_OUT_OF_RANGE = ERRCODE_SLE_SSAP_BASE + 0x0F, /*客户端写入的值超出范围*/
ERRCODE_SSAP_UPPERLAYER_APPLICATION_ERROR_MIN = ERRCODE_SLE_SSAP_BASE + 0xAF, /*预留给上层协议定义应用错误*/
ERRCODE_SSAP_UPPERLAYER_APPLICATION_ERROR_MAX = ERRCODE_SLE_SSAP_BASE + 0xFF, /*预留给上层协议定义应用错误*/
} errcode_sle_ssap_t;
AT+SSAPSSNDRESP=<conn_id>,<request_id>,<status>,<value_len>,<value> |
|
|
|
|
|
服务端注册回调¶
|
|
start service¶
|
|
服务端发起信息交换¶
|
|
SLE测试模式AT指令¶
SLE测试模式AT指令一览表¶
SLE测试模式AT指令描述¶
说明: SLE测试模式命令,在AT+SLEENABLE指令下发后可用。
AT+SLEFACCALLBACK 注册SLE状态回调¶
[AT] sle factory register cbks.
|
|
AT+SLETX 开始sle常发¶
AT+SLETX=<freq>,<pwr>,<payload_len>,<payload_type>,<phy>,<format>,<TX_rate>,<pilot>,<polar>,<interval> |
|
AT+SLERX 开始sle常收¶
AT+SLETRXEND 结束sle常发或常收¶
|
status:0x0,num_packet:0x3e8,rssi:0x81 说明:如仪表发1000包后发结束指令,测试RX的收报数为1000包(0x3e8),测试RX的接收能量rssi为-127dbm(0x81) |
|
此指令在执行SLE RF TX、RX后需要停止时执行。rssi和num_packet在RX结束后关注,rssi:接收能量值, num_packet:收包数 |
AT+SLERST 软复位sle¶
PLAT模块AT指令¶
读取NV项¶
|
|
|
|
|
NV[0x3] is permanent //该NV项持有永久属性,无法通过命令或者接口修改NV值 NV[0x3] is non_upgrade //该NV项持有不可升级属性,无法通过OTA修改NV值 |
|
修改NV项¶
|
|
|
|
|
打印版本号¶
|
|
打印死机信息¶
|
|
写入efuse mac¶
读取efuse mac¶
获取系统时间¶
|
|
设置系统时间¶
|
|
设置IO工作模式¶
|
|
查询IO工作模式¶
|
|
|
|
|
+GETIOMODE:<ID>,<MODE>,<PULL>,<DS> |
|
设置GPIO工作为输入或输出¶
|
|
设置GPIO的电平状态¶
|
|
|
|
读取GPIO的电平状态¶
|
|
|
|
写入厂商码¶
|
|
|
|
系统低功耗设置¶
|
|
超深睡设置¶
|
|
写入用户预留位¶
查询用户预留位¶
|
|
AT+SETUART 配置串口功能¶
|
|
|
|
|
写入第二个用户预留位¶
须知: 该写入为不可逆操作,写入的EFUSE位为复用安全启动中根公钥HASH的EFUSE区域,写入该区域后,将无法使用安全启动功能。
|
|
|
|
|
查询第二个用户预留位¶
|
|
|
设置打印等级¶
|
|
|
|





